package com.ys.nms.module.business.controller.admin.devicesLog.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.ys.nms.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.ys.nms.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 设备日志分页 Request VO")
@Data
public class DevicesLogPageReqVO extends PageParam {

    @Schema(description = "ID", example = "32076")
    private Integer deviceId;

    @Schema(description = "插入时间")
    private LocalDateTime inserted;

    @Schema(description = "状态，1为在线，其他为离线", example = "2")
    private Boolean status;

    @Schema(description = "原因", example = "不对")
    private String statusReason;

    @Schema(description = "系统运行时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Long[] uptime;

    @Schema(description = "代理运行时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Integer[] agentUptime;

    @Schema(description = "最后轮询时间")
    private LocalDateTime lastPolled;

    @Schema(description = "最后轮询尝试时间")
    private LocalDateTime lastPollAttempted;

    @Schema(description = "最后轮询耗时")
    private Double lastPolledTimetaken;

    @Schema(description = "最后发现耗时")
    private Double lastDiscoveredTimetaken;

    @Schema(description = "最后发现时间")
    private LocalDateTime lastDiscovered;

    @Schema(description = "最后Ping时间")
    private LocalDateTime lastPing;

    @Schema(description = "最后Ping耗时")
    private Double lastPingTimetaken;

    @Schema(description = "SNMP启用状态")
    private String snmpyes;

}